import Request from 'luch-request'
import config from "@/config/config.js"

const http = new Request();

http.config.baseURL = config.baseUrl || "http://localhost:8888";
let token = uni.getStorageSync("token")
if (token) {
	http.config.header[config.tokenKey] = token;
}

// 请求拦截
http.interceptors.request.use(config => {
	console.log('config====', config);
	if (config.url.startsWith("http")) {
		config.baseURL = ""
	}
	return config
})

// 响应拦截
http.interceptors.response.use(response => {
	// setTimeout(function (){
	uni.stopPullDownRefresh();
	//     return response;
	// },500);
	return response;
}, err => {
	uni.showToast({
		title: "网络请求异常，请稍后重试!",
		icon: 'none',
		position: 'bottom'
	});
	uni.stopPullDownRefresh();
	return err;
})

// http.request({
// 	// baseURL: '',
// 	method: 'POST', // 请求方法必须大写 [GET|POST|PUT|DELETE|CONNECT|HEAD|OPTIONS|TRACE]
// 	url: '/user/12345',
// 	data: {
// 		firstName: 'Fred',
// 		lastName: 'Flintstone'
// 	},
// 	// #ifdef H5 || APP-PLUS || MP-ALIPAY || MP-WEIXIN
// 	timeout: 60000, // H5(HBuilderX 2.9.9+)、APP(HBuilderX 2.9.9+)、微信小程序（2.10.0）、支付宝小程序
// 	// #endif
// 	params: { // 会拼接到url上
// 		token: '1111'
// 	},
// 	// #ifdef APP-PLUS
// 	firstIpv4: false, // DNS解析时优先使用ipv4 仅 App-Android 支持 (HBuilderX 2.8.0+)
// 	// #endif
// 	// 注：如果局部custom与全局custom有同名属性，则后面的属性会覆盖前面的属性，相当于Object.assign(全局，局部)
// 	custom: {}, // 自定义参数
// 	// 返回当前请求的task, options。请勿在此处修改options。非必填
// 	getTask: (task, options) => {
// 		// setTimeout(() => {
// 		//   task.abort()
// 		// }, 500)
// 	},
// 	//validateStatus: (statusCode) => { // statusCode 必存在。此处示例为全局默认配置。演示，非必填选项
// 	//	return statusCode >= 200 && statusCode < 300
// 	//},
// 	// 自定义处理params 函数
// 	//paramsSerializer: (params) => {
// 	//   return qs.stringify(params)
// 	//}
// })

module.exports = {
	http,
}
